查看原文
其他

Linux硬盘与文件系统(7)

Cloud研习社 Cloud研习社 2023-06-06

硬盘格式化(相当于为房间装修)


格式化的过程就是创建文件系统(make filesystem)的过程。

  • mkfs.xfs:  创建xfs文件系统

mkfs.xfs [-b bsize] [-d parms] [-i parms] [-l parms] [-L label] [-f] [-r parms] 设备名称
选项与参数:
-b后面接block的大小,建议使用默认值4K。
-ddata_section的相关设置,包括:
agcount= value 指定分配组(并发小文件系统(16M~1T))
  agsize = value   与上类似,指定分配组大小
   name= 指定文件系统内指定文件的名称。此时,日志段必须指定在内部(指定大小)。
  file [=value] 指定上面要命名的是常规文件(默认1,可以为0)。
   size= value 指定数据段大小,需要 -d file =1
   sunit=value 指定条带单元大小(chunk,单位为512)
   su=value 指定条带单元(chunk,单位为byte. 如:64k,必须为文件系统块大小的倍数)
   swidth=value 指定条带宽度(单位为512, 为sunit的数据盘个数倍数)
  sw =value 条带宽度(通常为数据盘个数)
-f 强制格式化
-i inode的相关选项,包括:
size = value | log=value | perblock =value 指定inode大小(256~2048)
   maxpct=value 指定inode所有空间的百分比。(默认为:<1T=25%,<50T=5% >50T=1%)
  align [=value] 指定分配inode时是否对齐。默认为1,对齐。
  attr = value 指定属性版本号,默认为2
  projid32bit [=value] 是否使能32位配额项目标识符。默为1.
-L label 指定文件系统标签。最多12个字符
-r实时段选项
rtdev =device 指定外部实时设备名
   extsize=value指定实时段中块大小,必需为文件系统块大小的倍数。最小为(max(文件系统块大小, 4K))。默认大小为条带宽度(条带卷),或64K(非条带卷) ,最大为1G
  size = value 指定实时段的大小
  noalign 此选项禁止 条带大小探测,强制实时设备没有几何条带。


看到这是不是感到头晕了?没关系,其实上面介绍的选项你可以不用看,如果非要看,那就看一下-b这个选项。一般我们直接使用这种形式:mkfs.xfs  /dev/sdb1。我们来看个例子:

[root@studyclub ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512    agcount=4, agsize=131072 blks
        = sectsz=512   attr=2, projid32bit=1
        = crc=1        finobt=0, sparse=0
data = bsize=4096   blocks=524288, imaxpct=25
        = sunit=0      swidth=0 blks
naming =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
        = sectsz=512   sunit=0 blks, lazy-count=1
realtime =none extsz=4096   blocks=0, rtextents=0

# 验证格式化后的情况
[root@studyclub ~]# blkid /dev/sdb1
/dev/sdb1: UUID="4cddb649-bf2f-4bcc-aa0f-b30c862c2ed3" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="088dd194-90a5-44f8-a5da-44f79035f837"


mkfs.ext4: 创建ext4文件系统

mkfs.ext4 [-b size] [-L label] 设备名称
选项和参数:
-b设置block的大小,可以设置1k 2k 4k
-L设置文件系统的标识名称

我们来把/dev/sdb2格式化成ext4文件系统:


[root@studyclub ~]# mkfs.ext4 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

# 验证格式化以后的结果
[root@studyclub ~]# blkid /dev/sdb2
/dev/sdb2: UUID="53af70c1-e742-4002-af33-a9c83b119d95" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="1d6c8212-ea1d-41e4-9bf3-c03da6cb1e0e"

mkfs

mkfs是个综合命令,可以用"mkfs -t xfs /dev/sdb1"来进行格式化,他会调用mkfs.xfs命令。我们看支持哪些:


[root@preparelessons ~]# mkfs
mkfs         mkfs.btrfs   mkfs.cramfs mkfs.ext2   mkfs.ext3   mkfs.ext4   mkfs.minix   mkfs.xfs


特别提示:请注意学习方式,一定要实操,老师检查结果。一定不是仅仅拍照或做笔记,因为上面的mkfs后面的按了两次tab你根本无法记录。

实战练习:

  • 请使用mkfs把上面的/dev/sdb3格式化成btrfs格式


新手应知:    Rocky Linux
《Linux基础及进阶》:    017 - Linux2    018 - Linux3    019 - Linux4    020 - Linux硬盘与文件系统(5)    021 - Linux硬盘与文件系统(6)


看完本文有收获?请分享给更多人


推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

微信号|bjdream-1


Cloud研习社 · 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存